package com.ruoyi.pack.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 定位器对象 pack_locator
 * 
 * @author ruoyi
 */
public class PackLocator extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 定位器ID */
    private Long locatorId;

    /** 定位器编码 */
    @Excel(name = "定位器编码")
    private String locatorCode;
    
    /** 绑定的器具ID */
    @Excel(name = "绑定的器具ID")
    private Long containerId;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String deviceModel;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date manufactureDate;

    /** 电池电量（百分比） */
    @Excel(name = "电池电量（百分比）")
    private Integer batteryLevel;

    /** 信号强度 */
    @Excel(name = "信号强度")
    private Integer signalStrength;

    /** 定位器状态（1-正常 2-离线 3-故障 4-停用） */
    @Excel(name = "定位器状态", readConverterExp = "1=正常,2=离线,3=故障,4=停用")
    private String locatorStatus;

    /** 最后在线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后在线时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastOnlineTime;
    
    /** 绑定的器具信息 */
    private PackContainer boundContainer;

    public Long getLocatorId() {
        return locatorId;
    }

    public void setLocatorId(Long locatorId) {
        this.locatorId = locatorId;
    }

    public String getLocatorCode() {
        return locatorCode;
    }

    public void setLocatorCode(String locatorCode) {
        this.locatorCode = locatorCode;
    }
    
    public Long getContainerId() {
        return containerId;
    }

    public void setContainerId(Long containerId) {
        this.containerId = containerId;
    }

    public String getDeviceModel() {
        return deviceModel;
    }

    public void setDeviceModel(String deviceModel) {
        this.deviceModel = deviceModel;
    }

    public Date getManufactureDate() {
        return manufactureDate;
    }

    public void setManufactureDate(Date manufactureDate) {
        this.manufactureDate = manufactureDate;
    }

    public Integer getBatteryLevel() {
        return batteryLevel;
    }

    public void setBatteryLevel(Integer batteryLevel) {
        this.batteryLevel = batteryLevel;
    }

    public Integer getSignalStrength() {
        return signalStrength;
    }

    public void setSignalStrength(Integer signalStrength) {
        this.signalStrength = signalStrength;
    }

    public String getLocatorStatus() {
        return locatorStatus;
    }

    public void setLocatorStatus(String locatorStatus) {
        this.locatorStatus = locatorStatus;
    }

    public Date getLastOnlineTime() {
        return lastOnlineTime;
    }

    public void setLastOnlineTime(Date lastOnlineTime) {
        this.lastOnlineTime = lastOnlineTime;
    }
    
    public PackContainer getBoundContainer() {
        return boundContainer;
    }

    public void setBoundContainer(PackContainer boundContainer) {
        this.boundContainer = boundContainer;
    }
} 